<!doctype html>
<html lang=ru>
<meta charset=utf-8>

<title>OpenBSD: Безопасность</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="openbsd.css">
<link rel="canonical" href="https://www.openbsd.org/security.html">

<style>
h3 {
	color: var(--red);
}
</style>

<h2 id=OpenBSD>
<a href="index.html">
<i>Open</i><b>BSD</b></a>
Безопасность
</h2>

<hr>

<p>
Используйте ссылки ниже, если интересуетесь безопасностью конкретного релиза.

<p>
<a href="https://openbsd.org/errata20.html">2.0</a>,
<a href="https://openbsd.org/errata21.html">2.1</a>,
<a href="https://openbsd.org/errata22.html">2.2</a>,
<a href="https://openbsd.org/errata23.html">2.3</a>,
<a href="https://openbsd.org/errata24.html">2.4</a>,
<a href="https://openbsd.org/errata25.html">2.5</a>,
<a href="https://openbsd.org/errata26.html">2.6</a>,
<a href="https://openbsd.org/errata27.html">2.7</a>,
<a href="https://openbsd.org/errata28.html">2.8</a>,
<a href="https://openbsd.org/errata29.html">2.9</a>,
<a href="https://openbsd.org/errata30.html">3.0</a>,
<a href="https://openbsd.org/errata31.html">3.1</a>,
<a href="https://openbsd.org/errata32.html">3.2</a>,
<a href="https://openbsd.org/errata33.html">3.3</a>,
<a href="https://openbsd.org/errata34.html">3.4</a>,
<a href="https://openbsd.org/errata35.html">3.5</a>,
<br>
<a href="https://openbsd.org/errata36.html">3.6</a>,
<a href="https://openbsd.org/errata37.html">3.7</a>,
<a href="https://openbsd.org/errata38.html">3.8</a>,
<a href="https://openbsd.org/errata39.html">3.9</a>,
<a href="https://openbsd.org/errata40.html">4.0</a>,
<a href="https://openbsd.org/errata41.html">4.1</a>,
<a href="https://openbsd.org/errata42.html">4.2</a>,
<a href="https://openbsd.org/errata43.html">4.3</a>,
<a href="https://openbsd.org/errata44.html">4.4</a>,
<a href="https://openbsd.org/errata45.html">4.5</a>,
<a href="https://openbsd.org/errata46.html">4.6</a>,
<a href="https://openbsd.org/errata47.html">4.7</a>,
<a href="https://openbsd.org/errata48.html">4.8</a>,
<a href="https://openbsd.org/errata49.html">4.9</a>,
<a href="https://openbsd.org/errata50.html">5.0</a>,
<a href="https://openbsd.org/errata51.html">5.1</a>,
<br>
<a href="https://openbsd.org/errata52.html">5.2</a>,
<a href="https://openbsd.org/errata53.html">5.3</a>,
<a href="https://openbsd.org/errata54.html">5.4</a>,
<a href="https://openbsd.org/errata55.html">5.5</a>,
<a href="https://openbsd.org/errata56.html">5.6</a>,
<a href="https://openbsd.org/errata57.html">5.7</a>,
<a href="https://openbsd.org/errata58.html">5.8</a>,
<a href="https://openbsd.org/errata59.html">5.9</a>,
<a href="https://openbsd.org/errata60.html">6.0</a>,
<a href="https://openbsd.org/errata61.html">6.1</a>,
<a href="https://openbsd.org/errata62.html">6.2</a>,
<a href="https://openbsd.org/errata63.html">6.3</a>,
<a href="https://openbsd.org/errata64.html">6.4</a>,
<a href="https://openbsd.org/errata65.html">6.5</a>,
<a href="https://openbsd.org/errata66.html">6.6</a>,
<a href="https://openbsd.org/errata66.html">6.7</a>.
<br>
<hr>

<ul>
<li><h3 id=goals>Цели</h3>

<p>	
OpenBSD верит в стойкую безопасность. Мы стремимся быть ПЕРВЫМИ в области
безопасности (если уже не стали ими). Благодаря нашей открытой модели
разработки, мы имеем абсолютно бескомпромиссный взгяд на вопросы
безопасности, в отличие от большинства других проектов. Мы можем делать такие
изменения, на которые другие не пошли бы. Кроме того, благодаря
<a href="crypto.html">криптографии</a>, используемой в OpenBSD, у нас
больше возможностей и подходов к устранению проблем безопасности.

<li><h3 id=disclosure>Приинцип абсолютной открытости</h3>

<p>
Как и большинство читателей
<a href="https://www.securityfocus.com/archive/1">
рассылки BUGTRAQ</a>, мы верим в преимущества абсолютного разглашения
проблем безопасности. Среди множества операционных систем мы, похоже,
первые кто использует такой подход. Многие производители, в том
числе и свободного программного обеспечения, все ещё пытаются скрыть
какие-то нюансы от своих пользователей.

<p>
Информация, касающаяся безопасности, распространяется очень быстро среди
взломщиков, но наш опыт позволяет уже в течении часа
выпускать исправления. Поэтому мы считаем, что полное разглашение
о проблемах поможет людям, которые заботятся о своей безопасности.<p>

<li><h3 id=process>Аудит процесс</h3>

<p>	
От шести до двенадцати человек составляют команду, которая занимается
поиском и исправлением ошибки в нашем репозитории. Мы проводим аудит с
лета 1996г. Процесс по улучшению безопасности охватывает все части системы,
файл за файлом мы анализируем каждый компонент программы. Мы не столько
ищем ошибки безопасности, сколько простые программные ошибки. Если
спустя годы кто-то обнаружит уязвимость, у нас она скорее всего уже
будет исправленна, так как причиной уязвимости скорее всего была
обычная ошибка в коде. Те или иные проблемы были найдены в процессе
аудита почти в каждом компоненте системы. Были найдены совершенно
новые категории проблем безопасности, и часто исходной код, который
уже прошёл аудит, нуждался в дополнительной перепроверке. Исходной
код обычно проверяется несколько раз разными людьми с разным опытом.

<p>
Некоторые члены из нашей аудит команды работали в Secure Networks -
компании, занимающейся сканированием сетей на предмет сетевых уявзвимостей
и созданием Ballista - пакет программ для проверки сетей на безопасность.
(Secure Networks бала куплена Network Associates, Ballista переименована
в Cybercop Scanner.) Эта компания проводила множество тестов и исследований
уязвимости и, таким образом, имеет хороший опыт в данной области. OpenBSD
проходила все проверки Ballista с первого же дня тестирования.

<p>
Другой аспект процесса проверки - проактивность. Во многих случаях мы
обнаруживаем, что найденная уязвимость неактуальна. Тем не менее, в ходе
процесса аудита мы находим множество ошибок, стараемся их исправить, даже
если уязвимость не доказана. Мы исправляем одни ошибки и продолжаем искать
другие, чтобы исправить и их. Мы устранили множество простых и очевидных
ошибок невнимательного программирования и только по прошествии нескольких
месяцев обнаружили, что они действительно опасны. (Или, более вероятно, что
кто-то на <a href="https://www.securityfocus.com/archive/1">BUGTRAQ</a>
опубликует, что другие операционные системы уязвимы к <q>недавно обнаруженной
проблеме</q>, и тогда выяснится, что в OpenBSD эта ошибка уже была исправлена
ещё в прошлом релизе). В других случаях, мы застрахованы от реализации
множества атак лишь потому, что мы исправили один из промежуточных шагов,
необходимых для их реализации. Примером того, где нам удалось добиться
успеха, является рекомендация lpd, которую мы получили благодаря Secure
Networks.

<li><h3 id=newtech>Новые технологии</h3>

<p>
Проверяя исходники, у нас часто появляются новые идеи и мы находим новые
способы решения тех или иных проблем. Иногда бывает и так, что найденные
решения уже использовались в какой-то программе, написанной ранее, но,
возможно, не на таком уровне, на каком это делаем мы.

<ul>
  <li>strlcpy() and strlcat()
  <li>Memory protection purify
    <ul>
    <li>W^X
    <li>.rodata segment
    <li>Guard pages
    <li>Randomized malloc()
    <li>Randomized mmap()
    <li>atexit() and stdio protection
    </ul>
  <li>Privilege separation
  <li>Privilege revocation
  <li>Chroot jailing
  <li>New uids
  <li>ProPolice
  <li>... <a href="https://www.openbsd.org/innovations.html">и другие</a>
</ul>

<li><h3 id=reward>Награда</h3>

<p>
Наш проактивный процесс аудита действительно оправдан. Заявления
подобно <q>Эта проблема была устранена в OpenBSD приблизительно 6
месяцев назад</q> стали обычным явлением на security-форумах подобных
<a href="https://www.securityfocus.com/archive/1">BUGTRAQ</a>.

<p>
Наиболее интенсивная часть аудита происходила перед релизом OpenBSD 2.0,
а так же в течение перехода с 2.0&rarr;2.1, в конце 1996 и первой половины
1997. Тысячи (да, именно тысячи) проблем безопасности были быстро
устранены в течение этого почти годового периода; ошибки подобно стандартным
переполнением буфера, слабостям реализации протокола, сбору информации,
и гонкам файловых систем. Большинство проблем безопасности, с которыми мы
столкнулись, были устранены перед релизом 2.1, а затем, уже намного меньше
исправлений необходимо было сделать для следующего релиза 2.2. Мы больше
не находим так много ошибок, это простой факт их исчезновения. Однако недавно
найденные и исправленные проблемы безопасности, имеют тенденцию быть
значительно более сложными или неясными. Тем не менее, мы будем продолжать
проводить аудит по ряду причин:

<ul>
<li>Иногда мы находим простые проблемы, которые мы пропустили ранее.
<li>Безопасность чем-то походит на гонку вооружений; кто-то продолжает
искать более сложный путь для реализации атаки, так же будем делать и мы.
<li>Поиск и исправление едва заметных уязвимостей в сложной программе
доставляет удовольствие.
</ul>

<p>
Процесс аудита ещё не закончен, и, как вы видите, мы продолжаем находить
и исправлять все новые и новые изъяны в безопасности.

<li><h3 id=default><q>Secure by Default</q></h3>

<p>
Для того, чтобы гарантировать, что начинающему пользователю нет надобности
становиться экспертом по безопасности (точка зрения, которой, похоже,
придерживаются другие авторы ПО), мы предлагаем операционную систему в
режиме "Secure by Default". Это значит, что все второстепенные сервисы
запрещены. Когда пользователь/администратор более глубоко освоится
с этой системой, он поймет, что нужно разрешить работу лишь некоторых
демонов и других частей системы. По мере изучения того, как запустить
какой-то новый сервер, новичок, скорее всего, ознакомится с требованиями
безопасности.

<p>
Это совершенный контраст со все возрастающим числом систем, которые
поставляются с NFS, mountd, web-серверами и другими запущенными по
умолчанию службами, в первые же минуты после инсталляции создающими
для своих пользователей проблемы безопасности.

<li><h3 id=crypto>Криптография</h3>

<p>
Так как проект OpenBSD находится в Канаде, у нас есть возможность
использовать криптографию. Для получения дополнительной информации, читайте
страницы о том,
<a href="crypto.html">что мы уже сделали при помощи криптографии</a>.

<li><h3 id=advisories>Advisories</h3>

<p>
Пожалуйста обратите внимание на ссылки вверху страницы.

<li><h3 id=watching>Следите за изменениями</h3>

<p>
Так как относительно безопасности мы выбрали проактивную позицию, мы
не перестаем находить и устранять новые проблемы безопасности. Тем не
менее, не все из них придаются широкой огласке. Происходит это из-за того,
что (как уже было сказано) многие из них не представляют серьезной опасности,
т.к. не могут быть использованы для проведения атак; многие простые ошибки,
которые мы уже исправили в прошлом, оказывается, могли были привести к
проблемам безопасности, о которых мы тогда не могли подумать и предсказать.
У нас нет столько времени, чтобы официально сообщать обо всех подобных
исправлениях.

<p>
Таким образом, в репозитории обычно есть незначительные исправления для
последнего релиза OpenBSD. Мы гарантируем, что эти исправления имеют
минимальное влияние на безопасность и непригодны для реализации атак.
Если мы обнаружим, что проблема определённо связана с безопасностью,
патчи появятся здесь <strong>ОЧЕНЬ</strong> быстро.

<p>
Вот что мы можем посоветовать тем, кто действительно заботится о
безопасности:

<ul>
<li>Если вы разбираетесь в технической стороне вопроса, следите за
	<a href="https://www.openbsd.org/mail.html">рассылкой, про изменениях в коде</a>
	и не пропускайте тех из них, которые связаны с безопасностью.
	А так как подтверждение о возможных атаках для многих изменений в коде
	не доказана, не ожидайте, что в commit-сообщении будет сказано
	<q>SECURITY FIX!</q>. Если проблема доказана и серьёзна, исправление
	появится здесь очень быстро.
<li>Постоянно использовать самые свежие исходники из репозитория и время от
	времени полностью пересобирать систему (тщательно прочитайте
	/usr/src/Makefile). Не забывайте, что более свежие исходники из
	репозитория всегда более стабильны, чем в репах для прошлых релизов.
	Однако собрать систему из исходников самому не так-то просто;
	это большее 850МБ исходного кода, и могут возникнуть проблемы при обновлении.
<li>Устанавливать бинарный снапшот для вашей архитектуры, которые создаются
  довольно часто. Например, новые снапшоты для amd64 обычно создаются
	ежедневно.
</ul>

<li><h3 id=reporting>Сообщения о проблемах</h3>

<p>
Если вы обнаружили новую уязвимость, сообщите нам, отправив письмо на
<a href="mailto:deraadt@openbsd.org">deraadt@openbsd.org</a>.
<br>
Если вы хотите зашифровать письмо при помощи PGP (пользуйтесь им
только при крайней необходимости, так как это неудобно), используйте этот
<a href="https://www.openbsd.org/advisories/pgpkey.txt">pgp ключ</a>.

<li><h3 id=papers>Дополнительно</h3>

<p>
Разработчиками OpenBSD написаны
<a href="https://www.openbsd.org/events.html">материалы</a>,
некоторые из которых так или иначе связаны с темой security.
</ul>
